/*
 * @lc app=leetcode.cn id=70 lang=cpp
 *
 * [70] 爬楼梯
 */
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>

using namespace std;
// @lc code=start
class Solution {
public:
    int climbStairs(int n) {
        //dp
        if(n == 1) {
            return 1;
        }
        vector<int> dp(n);
        dp[0] = 1;
        dp[1] = 2;
        for(int i = 2;i < n;i++) {
			dp[i] = dp[i-1] + dp[i-2];
		}
		return dp[n-1];

        //递归,超时
        // if(n == 1) {
        //     return 1;
        // }
        // if(n == 2) {
        //     return 2;
        // }
        // return climbStairs(n - 1)+climbStairs(n - 2);
    }
};
// @lc code=end

